//
// Created by sjjmw on 3/24/2022.
//

//应该使用dfs

#include "iostream"
#include "vector"
#include "list"
#include "algorithm"
#include "string"
#include "unordered_map"
#include "cmath"
#include<iomanip>
#include "string"
#include "map"
#include "list"
struct Sol{
    std::vector<int> used;
    std::vector<char> ana_buf;
    int max=0;
    void analyze(){

    }
    void dfs(int yp_cnt,int begin){
        if(yp_cnt==used.size()){
            analyze();
            return;
        }
        for(int i=begin;i<20;i++){
            used[yp_cnt]=i;
            dfs(yp_cnt+1,i);//下一个价值大于等于0
        }
    }
    void handle(
            //n张，k种
            int n,int k
            ){
        ana_buf.resize(2000);
        used.resize(n);
        dfs(1,1);
        ;
    }
};
int main(){
    int a,b,c;
//    float a,b,c,d;
    int e;
    while(std::cin>>a>>b){
        Sol().handle(a,b);

//        Sol().handle(a,b);
    }

    return 0;
}